package com.github.baichuan.iot.protocol.codec;

import io.netty.buffer.ByteBuf;

/**
 * 协议消息编解码器
 */
public interface MessageCodec {
    /**
     * 解码入站协议报文
     * @param buf
     * @return
     */
    MessageDecodeContext decode(ByteBuf buf);

    /**
     * 将出站数据编码为协议报文
     * 编码后的报文存放在outbound的datagram字段
     * @return
     */
    ByteBuf encode(MessageEncodeContext outbound);
}
